Python中时间字符串转为datetime格式、日期减一、strptime()和strftime()函数 |
您所在的位置:网站首页 › 日期加一天的公式 格式 › Python中时间字符串转为datetime格式、日期减一、strptime()和strftime()函数 |
1.时间字符串转为datetime格式
datetime.strptime可以将字符串转换成日期,strptime的第二个参数是时间日期的格式: import datetime a = '20200913' print a b = datetime.datetime.strptime(str(a), "%Y%m%d") print b 输出: 2020-09-13 2020-09-13 00:00:00 两者的类型发生了变化: 2.日期减一使用datetime.timedelta(),参数是要减去的天数,昨天是减1,前天是减2,以此类推。 import datetime a = '20200913' print type(a) b = datetime.datetime.strptime(str(a), "%Y%m%d") print type(b) c = b + datetime.timedelta(days=-1) print c 输出: 20200913 2020-09-13 00:00:00 2020-09-12 00:00:00 3.日期格式从20200913,自减一天,格式仍为20200912使用 strftime 将日期转换为字符串,第二个参数是你希望输出的格式。 import datetime a = '20200913' print a b = datetime.datetime.strptime(str(a), "%Y%m%d") print b c = b + datetime.timedelta(days=-1) print c d = datetime.datetime.strftime(c, "%Y%m%d") print d 输出: 20200913 2020-09-13 00:00:00 2020-09-12 00:00:00 2020-09-12 20200912 4.常见bug AttributeError: type object 'datetime.datetime' has no attribute 'timedelta' 代码: from datetime import datetime a = '20200913' print a b = datetime.strptime(str(a), "%Y%m%d") print b c = b + datetime.timedelta(days=-1) print c原因: import 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。 from…import:导入了一个模块中的一个函数;注:相当于导入的是一个文件夹中的文件,是个绝对路径。 区别是当引用文件时是: import //模块.函数 from…import // 直接使用函数名使用就可以了 这里“from datetime import datetime”从datetime模块引入datetime类,而datetime类中不包含timedelta方法,因此报错。 将“from datetime import datetime” 改为“import datetime”,引入datetime模块,那么在使用strptime时,需要多加一个datetime,写全方法的路径,即:datetime.datetime.strptime(str(a), "%Y%m%d")。 如下: import datetime a = '20200913' print a b = datetime.datetime.strptime(str(a), "%Y%m%d") print b c = b + datetime.timedelta(days=-1) print c
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |